package yiminsu.com.cn.mapper;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import yiminsu.com.cn.beans.HomestayImage;
import yiminsu.com.cn.beans.Hostuser;
import yiminsu.com.cn.beans.HotelBedTypeVO;
import yiminsu.com.cn.beans.HotelstoryDictionaries;
import yiminsu.com.cn.beans.HotelType;
import yiminsu.com.cn.beans.HotelTypeAssort;
import yiminsu.com.cn.beans.HotelTypeAssortVO;
import yiminsu.com.cn.beans.HotelTypeBedType;
import yiminsu.com.cn.beans.HotelTypeMoney;
import yiminsu.com.cn.beans.HotelTypeMoneyVO;
import yiminsu.com.cn.beans.LeisurehotelUser;
import yiminsu.com.cn.beans.LeisurehotelUserMerchant;


@Mapper
public interface HostUserMapper {
	
	//创建项目的时候测试的方法
	Hostuser Gethostuser(String userid);
	
	/**
	 * 子账号管理模块
	 * @param hotelUser
	 * @return
	 */
	//新增子账号信息
	int insertUser(LeisurehotelUser hotelUser);

	//新增父账号和子账号
	int insertMerchant(LeisurehotelUserMerchant leisurehotelUserMerchant);
	
	//修改子账号信息
	int updateUser(@Param("zid") String zid,@Param("userName") String userName,@Param("phoneNumber")String phoneNumber);
	
	//解除子账号的管理
	int deleteMerchant(@Param("fid")String fid,@Param("zid")String zid);
	
	/**
	 * 房间管理模块   新增房间
	 * @param hotelType
	 * @return
	 */	
	//根据字典Id查询字典表的数据
	int selectById(String id);
	
	//新增房间价格表
	int insertMoney(HotelTypeMoney hotelTypeMoney);
	
	//新增配套设施中间表
	int insertAssort(HotelTypeAssort hotelTypeAssort);
	
	//新增房间床型表
	int insertRoomType(HotelTypeBedType hotelTypeBedType);
		
	//新增配套设施字典表
    int insertDictionaries(HotelstoryDictionaries hotelStoryDictionaries);
	
    //添加民宿中间表
	int addHomestayImage(HomestayImage homestayImage);
    
	//新增房间
	int insertRoom(HotelType hotelType);
	
	/**
	 * 房间管理模块  回显修改的数据
	 * @param hotelType
	 * @return
	 */		
	//查询房间信息
	HotelType selectHotelType(@Param("hotelTypeId")Integer hotelTypeId);
	
	//查询房间价格信息
	List<HotelTypeMoneyVO> selectMoney(@Param("hid")Integer hid);
	
	//查询房间床型信息
	List<HotelBedTypeVO> selectHotelBed(@Param("hid")Integer hid);
	
	//查询房间配套设施信息
	List<HotelTypeAssortVO> selectAssort(@Param("hid")Integer hid);
		
	
	/**
	 * 房间管理模块  修改房间
	 * @param hotelType
	 * @return
	 */		
	//修改民宿中间表
	int updateHomestayImage(HomestayImage homestayImage);
	
	 //修改房间
	int updateRoom(HotelType hotelType);
		
    //修改房间床型
    int updateRoomType(HotelTypeBedType hotelTypeBedType);
	
    //修改字典表
	int updateDictionaries(HotelstoryDictionaries hotelstoryDictionaries);
		
	//修改配套设施中间表
	int updateAssort(HotelTypeAssort hotelTypeAssort);
		
	//修改房间价格
	int updatePrice(HotelTypeMoney hotelTypeMoney);	

	/**
	 *房间管理模块  批量设置房态及价格
	 * @param hotelTypeId
	 * @return
	 */
	//修改房间状态
	int updateStatus(@Param("hotelTypeId")Integer hotelTypeId,@Param("roomstatus")Integer roomstatus,@Param("roomtime")Date roomtime);

	//新增字典表
	int insertStroyValue(HotelstoryDictionaries hotelstoryDictionaries);

	//新增房间价格
	int insertHotelPrice(HotelTypeMoney hotelTypeMoney);
}
